package cn.fl.customer.transform;

import java.util.ArrayList;
import java.util.List;

import cn.fl.customer.vo.FilExpenseZxVO;
import cn.cmm.base.framework.utils.CollectionUtils;
import fl.customer.facade.customer.dto.FilExpenseZxDTO;

/**
 * @Description: 事业单位收入支出表(征信) 转换器
 * @Description: VO是客户端传递数据到服务端进行转换的数据 
 * @Description: VO转换数据变成DTO传递到服务端 
 * @Description: VO不能在服务端出现
 */
public class FilExpenseZxVOTransform {


	/**
	 * DTO 转  VO
	 * @param dto FilExpenseZxDTO
	 * @return FilExpenseZxVO
	 */
	public static FilExpenseZxVO toVO(FilExpenseZxDTO dto) {
		FilExpenseZxVO  vo = null;
		if (dto != null) { 
			vo = new FilExpenseZxVO();
			vo.setId(dto.getId());
			vo.setReportyear(dto.getReportyear());//报表年份
			vo.setReporttype(dto.getReporttype());//报表类型
			vo.setReportsubtype(dto.getReportsubtype());//报表类型细分
			vo.setOccurdate(dto.getOccurdate());//业务发生日期
			vo.setAuditfirm(dto.getAuditfirm());//审计事务所名称
			vo.setAuditor(dto.getAuditor());//审计人员名称
			vo.setAuditdate(dto.getAuditdate());//审计时间
			vo.setK9330(dto.getK9330());//财政补助收入
			vo.setK9331(dto.getK9331());//上级补助收入
			vo.setK9332(dto.getK9332());//附属单位缴款
			vo.setK9333(dto.getK9333());//事业收入
			vo.setK9334(dto.getK9334());//预算外资金收入
			vo.setK9335(dto.getK9335());//其他收入
			vo.setK9336(dto.getK9336());//事业收入小计
			vo.setK9337(dto.getK9337());//经营收入
			vo.setK9338(dto.getK9338());//经营收入小计
			vo.setK9339(dto.getK9339());//拔入专款
			vo.setK9340(dto.getK9340());//拔入专款小计
			vo.setK9341(dto.getK9341());//收入总计
			vo.setK9342(dto.getK9342());//拔出经费
			vo.setK9343(dto.getK9343());//上缴上级支出
			vo.setK9344(dto.getK9344());//对附属单位补助
			vo.setK9345(dto.getK9345());//事业支出
			vo.setK9346(dto.getK9346());//财政补助支出
			vo.setK9347(dto.getK9347());//预算外资金支出
			vo.setK9348(dto.getK9348());//销售税金
			vo.setK9349(dto.getK9349());//结转自筹基建
			vo.setK9350(dto.getK9350());//事业支出小计
			vo.setK9351(dto.getK9351());//经营支出
			vo.setK9352(dto.getK9352());//销售税金
			vo.setK9353(dto.getK9353());//经营支出小计
			vo.setK9354(dto.getK9354());//拔出专款
			vo.setK9355(dto.getK9355());//专款支出
			vo.setK9356(dto.getK9356());//专款小计
			vo.setK9357(dto.getK9357());//支出总计
			vo.setK9358(dto.getK9358());//事业结余
			vo.setK9359(dto.getK9359());//正常收入结余
			vo.setK9360(dto.getK9360());//收回以前年度事业支出
			vo.setK9361(dto.getK9361());//经营结余
			vo.setK9362(dto.getK9362());//以前年度经营亏损
			vo.setK9363(dto.getK9363());//结余分配
			vo.setK9364(dto.getK9364());//应交所得税
			vo.setK9365(dto.getK9365());//提取专用基金
			vo.setK9366(dto.getK9366());//转入事业基金
			vo.setK9367(dto.getK9367());//其他结余分配
			vo.setIsDel(dto.getIsDel());//是否删除（1：是，0：否）
			vo.setCstId(dto.getCstId());//客户ID

			vo.setCrtTm(dto.getCrtTm());//创建时间
			vo.setCrtUsrId(dto.getCrtUsrId());//创建人
			vo.setMdfTm(dto.getMdfTm());//修改时间
			vo.setMdfUsrId(dto.getMdfUsrId());//修改人
		}
		return vo;
	}

	/**
	 * VO 转 DTO
	 * @param vo FilExpenseZxVO
	 * @return FilExpenseZxDTO
	 */
	public static FilExpenseZxDTO toDTO(FilExpenseZxVO vo) {
		FilExpenseZxDTO dto = null;
		if (vo != null) {
			dto = new FilExpenseZxDTO();
			dto.setId(vo.getId());
			dto.setReportyear(vo.getReportyear());//报表年份
			dto.setReporttype(vo.getReporttype());//报表类型
			dto.setReportsubtype(vo.getReportsubtype());//报表类型细分
			dto.setOccurdate(vo.getOccurdate());//业务发生日期
			dto.setAuditfirm(vo.getAuditfirm());//审计事务所名称
			dto.setAuditor(vo.getAuditor());//审计人员名称
			dto.setAuditdate(vo.getAuditdate());//审计时间
			dto.setK9330(vo.getK9330());//财政补助收入
			dto.setK9331(vo.getK9331());//上级补助收入
			dto.setK9332(vo.getK9332());//附属单位缴款
			dto.setK9333(vo.getK9333());//事业收入
			dto.setK9334(vo.getK9334());//预算外资金收入
			dto.setK9335(vo.getK9335());//其他收入
			dto.setK9336(vo.getK9336());//事业收入小计
			dto.setK9337(vo.getK9337());//经营收入
			dto.setK9338(vo.getK9338());//经营收入小计
			dto.setK9339(vo.getK9339());//拔入专款
			dto.setK9340(vo.getK9340());//拔入专款小计
			dto.setK9341(vo.getK9341());//收入总计
			dto.setK9342(vo.getK9342());//拔出经费
			dto.setK9343(vo.getK9343());//上缴上级支出
			dto.setK9344(vo.getK9344());//对附属单位补助
			dto.setK9345(vo.getK9345());//事业支出
			dto.setK9346(vo.getK9346());//财政补助支出
			dto.setK9347(vo.getK9347());//预算外资金支出
			dto.setK9348(vo.getK9348());//销售税金
			dto.setK9349(vo.getK9349());//结转自筹基建
			dto.setK9350(vo.getK9350());//事业支出小计
			dto.setK9351(vo.getK9351());//经营支出
			dto.setK9352(vo.getK9352());//销售税金
			dto.setK9353(vo.getK9353());//经营支出小计
			dto.setK9354(vo.getK9354());//拔出专款
			dto.setK9355(vo.getK9355());//专款支出
			dto.setK9356(vo.getK9356());//专款小计
			dto.setK9357(vo.getK9357());//支出总计
			dto.setK9358(vo.getK9358());//事业结余
			dto.setK9359(vo.getK9359());//正常收入结余
			dto.setK9360(vo.getK9360());//收回以前年度事业支出
			dto.setK9361(vo.getK9361());//经营结余
			dto.setK9362(vo.getK9362());//以前年度经营亏损
			dto.setK9363(vo.getK9363());//结余分配
			dto.setK9364(vo.getK9364());//应交所得税
			dto.setK9365(vo.getK9365());//提取专用基金
			dto.setK9366(vo.getK9366());//转入事业基金
			dto.setK9367(vo.getK9367());//其他结余分配
			dto.setIsDel(vo.getIsDel());//是否删除（1：是，0：否）
			dto.setCstId(vo.getCstId());//客户ID

			dto.setCrtTm(vo.getCrtTm());//创建时间
			dto.setCrtUsrId(vo.getCrtUsrId());//创建人
			dto.setMdfTm(vo.getMdfTm());//修改时间
			dto.setMdfUsrId(vo.getMdfUsrId());//修改人
		}
		return dto;
	}
	
	/**
	 * DTO集合 转 VO集合
	 * @param list List<FilExpenseZxDTO>
	 * @return List<FilExpenseZxVO>
	 */
	public static List<FilExpenseZxVO> toVOList(List<FilExpenseZxDTO> list) {
		List<FilExpenseZxVO>  voList = new ArrayList<FilExpenseZxVO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (FilExpenseZxDTO dto : list) {
				voList.add(toVO(dto));
			}
		}
		return voList;
	}
	
	/**
	 * VO集合 转 DTO集合
	 * @param list List<FilExpenseZxVO>
	 * @return List<FilExpenseZxDTO>
	 */
	public static List<FilExpenseZxDTO> toDTOList(List<FilExpenseZxVO> list) {
		List<FilExpenseZxDTO>  dtoList = new ArrayList<FilExpenseZxDTO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (FilExpenseZxVO vo : list) {
				dtoList.add(toDTO(vo));
			}
		}
		return dtoList;
	}
}
